package com.speciality.demo.demos.service;

import com.speciality.demo.demos.dto.PredictionResult;
import com.speciality.demo.demos.dto.StatsResponse;
import org.apache.spark.ml.regression.RandomForestRegressionModel;
import org.apache.spark.sql.Dataset;
import org.apache.spark.sql.Row;

import java.time.LocalDate;
import java.util.List;

public interface WeatherPredictionService {
    /**
     * 获取基于输入时间的下一周预测数据
     * @param inputDate 用户输入的时间
     * @return 预测结果列表
     */
    List<PredictionResult> getWeeklyPrediction(LocalDate inputDate);

    /**
     * 获取预测统计信息
     * @param inputDate 用户输入的时间
     * @return 统计响应
     */
    StatsResponse getPredictionStats(LocalDate startDate,LocalDate endDate);

    /**
     * 使用Spark分析历史数据并生成预测
     * @param startDate 开始日期
     * @param endDate 结束日期
     * @return 预测结果
     */
    List<PredictionResult> analyzeWithSpark(LocalDate startDate, LocalDate endDate);


}
